package com.game.system.domain.game;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.game.common.annotation.Excel;
import com.game.common.core.domain.BaseEntity;
import com.game.system.domain.template.TemplateConfig;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * 账号模板对象 account_template
 *
 * @author Mr.Liu
 * @date 2025-04-10
 */
@Setter
@Getter
@ToString
@TableName(resultMap = "com.game.system.mapper.AccountTemplateMapper.AccountTemplateResult")
public class AccountTemplate extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 模板id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 账号id
     */
    @Excel(name = "账号id")
    private Long accountId;

    /**
     * 模板名称
     */
    @Excel(name = "模板名称")
    private String templateName;

    /**
     * 模板配置
     */
    @Excel(name = "模板配置")
    @TableField(typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
    @JsonProperty("templateConfig")
    private List<TemplateConfig> templateConfig;

    /**
     * 删除标记（0存在，2删除）
     */
    private String delFlag;

    /**
     * 账号，无实际字段
     */
    @TableField(exist = false)
    private String account;
}
